home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Directorty Opus 5 - Magellan
/
Opus 5 - Magellan.iso
/
Handbuch_WW
/
Kapitel12
(
.txt
)
< prev
next >
Wrap
WordWorth
|
1996-09-10
|
104KB
|
720 lines
Kapitel Zwölf: Dateitypen
12.1 Dateitypen
Zuerst einmal sind Dateien nichts anderes als einfach nur gespeicherte Daten.
Die Struktur dieser Daten unterscheidet sich aber sehr stark. Es gibt
ausführbare Programme, IFF-Bilder, Piktogramme oder eine Vielzahl anderer
Datenstrukturen. Die meisten Dateien haben eine identifizierbare Struktur
(obgleich nicht alle Datenstrukturen identifiziert werden können). Das
Dateitypensystem von Opus 5 ist darauf ausgelegt, die Struktur einer Datei zu
untersuchen und den Typ der darin enthaltenen Daten zu identifizieren. Sie
können Directory Opus 5 auf eine unbegrenzte Anzahl von Dateitypen erweitern.
Die Dateitypen gehören zu den vielseitigsten Fähigkeiten von Opus 5. Durch die
Verwendung von Dateitypen können Sie Opus 5 darauf konfigurieren, z.B.
Animationen auf Doppelklick abzuspielen, "Multiview" zu laden, wenn Sie eine
AmigaGuide-Datei aktivieren, ein Archiv zu entpacken, wenn Sie es in ein
anderes Verzeichnis "Nehmen & Ablegen" oder sogar, es einem externen Handler
wie z.B. ArcDir zuzuführen.
Dies ist die Essenz der Dateitypen; wenn Sie eine Aktion auf eine Datei
ausführen, dann prüft Opus, was für ein Typ von Datei es ist und führt die
demtentsprechende Aktion für diesen Dateityp aus.
12.2 Vordefinierte Dateitypen
Opus 5 wird mit einer Anzahl bereits vordefinierter Dateitypen ausgeliefert.
Diese sind eim Verzeichnis "DOpus5:Filetypes" abgelegt und haben eine
vordefinierte Datenstruktur sowie damit verbundene vordefinierte Befehle.
Dateitypen werden dynamisch gehandhabt. Opus 5 überprüft die in diesem
Verzeichnis vorliegenden Dateitypen und lädt diese automatisch.
Als kleine Annehmlichkeit liegen Opus 5 noch eine Reihe weiterer Dateitypen
bei, die im Verzeichnis "DOpus5:Storage/Filetypes" abgelegt sind. Mit diesen
Dateitypen ist die meiste Arbeit schon getan. Alle nötigen Details sind dort so
eingestellt, wie Opus 5 sie braucht, um Dateiformate sicher zu erkennen.
Kopieren Sie die Dateitypen, die Sie benötigen, einfach manuell in das
Verzeichnis "DOpus5:Filetypes" oder benutzen Sie den automatischen
Dateityperzeuger, um fehlende Dateitypen zu identifizieren und dann automatisch
zu installieren. Opus wird Dateitypen dann automatisch erkennen und darauf
zurückgreifen. Wenn die voreingestellten Befehle, mit denen die Dateitypen
verknüpft sind, Ihnen nicht zusagen, dann können Sie diese natürlich einfach
nach Ihren Wünschen verändern. Dazu brauchen Sie keine Kenntnisse vom internen
Aufbau der Dateitypen. Alles was Sie machen müssen, ist einen Befehl
zuzuweisen, der ausgeführt werden soll, wenn Opus 5 einen solchen Dateityp
erkennt.
12.3 Der Dateitypenmanager
Wählen Sie aus dem Einstellungen-Menü den Punkt "Dateitypen...". Es erscheint
ein Fenster, in dem Ihnen die verfügbaren Dateitypen aus dem Verzeichnis
"DOpus5:Filetypes" angezeigt werden. Für den ambitionierten Anfänger haben wir
zahlreiche vordefinierte Dateitypen, wie z.B. AmigaGuide, LHA-Archiv,
Workbench-Piktogramm oder Skriptdateien, beigefügt.
Die verfügbaren Dateitypen sehen Sie in der Liste in alphabetischer
Reihenfolge.
Abb.: Eine beispielhafte Auflistung aller verfügbaren Dateitypen.
Hinzufügen
Hiermit erzeugen Sie einen neuen Dateitypeneintrag. Nach Anwahl dieses Knopfes
erscheinen zwei weitere Fenster, in denen Sie die Definition des Dateityps und
die damit verbundene Aktion bestimmen können.
Duplizieren
Hiermit duplizieren Sie einen angewählten Eintrag. Wählen Sie einen Eintrag an,
benutzen Sie dann "Duplizieren" und ein neuer Eintrag wird von dem alten
dupliziert und Ihnen zur Bearbeitung präsentiert.
Bearbeiten
Hiermit können Sie die Definition eines vorhandenen Dateityps und der damit
verbundenen Aktion verändern oder erweitern.
Entfernen
Entfernt die angewählte Definition aus der Liste der Dateitypen und löscht den
Eintrag auch aus dem Verzeichnis "DOpus5:Filetypes".
Lagern
Entfernt einen Eintrag aus der Liste der Dateitypen und verschiebt ihn aus dem
Verzeichnis "DOpus5:Filetypes" nach "DOpus5:Storage/Filetypes".
12.4 Das Bearbeiten von Dateitypen
Der Dateitypeneditor besteht aus mehreren Teilen. Dies sind die aktuelle
Dateitypdefinition oder Dateitypklasse, die möglichen Ereignisse und
Benutzeraktionen und die korrespondierenden Befehle, die mit jeder Aktion
ausgeführt werden.
Abb.: Der Dateitypeneditor.
Ein Doppelklick auf einen Dateityp oder die Anwahl des Knopfes "Bearbeiten"
zeigt die Liste der Ereignisse, die für jeden Dateityp definiert werden können,
eine Satz von Menüpunkten, die Sie für die Piktogramm-Menüs dieses Typs
definieren können und das Standardpiktogramm, das Sie für diesen Dateityp
benutzen wollen.
12.4.1 Ereignisse
Jede dieser Aktionen steht in Verbindung mit einem Mausereignis oder einer
begrenzten Anzahl von Opus 5-Kommandos, die Benutzer1 - Benutzer4 benannt sind.
Ist einer der Einträge mit einem Haken versehen, bedeutet dies, daß dieses
Ereignis schon mit einer Liste auszuführender Befehle belegt ist. Ein Klick auf
eines der Objekte dieser Liste ruft den Funktionseditor auf, der Ihnen die
Definition der zu diesem Ereignis gehörenden Befehle erlaubt.
Abb.: Der Funktionseditor.
Um die Definitionen der verschiedenen Ereignisse miteinander vergleichen zu
können oder mehrere Ereignisse parallel zu definieren, können Sie auch mehrere
dieser Funktionseditoren aufrufen. Da jeder dieser Ereignistypen etwas anderes
ausführen kann, sind üblicherweise nur einige wenige definiert. Es ist
sicherlich nicht nötig, alle Ereignisse mit einer eigenen Befehlsliste zu
versehen.
Wenn jetzt eines der aufgelisteten Ereignisse stattfindet, macht Opus 5
folgendes:
- Zuerst wird die Liste der Dateitypen durchsucht und überprüft, ob eine
Datei mit diesen Dateitypen übereinstimmt. Die Reihenfolge der Überprüfung
der Dateitypen geschieht übrigens nach der Priorität der Dateitypen
(Wie Sie die Priorität ändern, erfahren Sie weiter unten im Text).
- Wurde ein passender Dateityp gefunden, wird überprüft, ob für das
Ereignis eine Befehlsliste vorliegt. Liegt diese vor, wird sie ausgeführt.
- Wurde kein passender Dateityp gefunden oder aber es gibt keine
Befehlsliste für das damit verbundene Ereignis, wird die Suche in der
Dateitypenliste fortgesetzt. Es könnte ja noch ein Eintrag gefunden werden,
für den eine Befehlsliste vorliegt.
12.4.2 Mausereignisse
Ein Mausereignis tritt auf, wenn Sie einen Doppelklick ausführen oder ein
Objekt mit "Nehmen & Ablegen" bewegen.
Der Doppelklick: Dieses Ereignis tritt auf, wenn Sie mittels Doppelklick eine
Datei aktivieren. Meist wird dieser zur Analyse der Datei genutzt, um dann z.B.
eine als Bild erkannte Datei anzuzeigen oder eine Tondatei abzuspielen. Die
aktuelle Geschwindigkeit des Doppelklicks wird in den Einstellungen des
Amiga-Systems vorgenommen ("Prefs/Input").
Nehmen & Ablegen: Dieses Ereignis tritt auf, wenn eine Datei mittels Mausklick
aufgenommen und dann in einem anderen Verzeichnis abgelegt wird. Dieses
Ereignis wird gerne für das Entpacken von Archiven benutzt.
12.4.3 Kommandoereignisse (Benutzer 1-4)
Kommandoereignisse treten auf, wenn auf eine Datei eine Aktion mittels der
begrenzt möglichen Opus 5-Benutzerkommandos ausgeführt wird. Nur die vier
Kommandoereignisse Benutzer1 - Benutzer4 sind hier verfügbar. Diese Bezeichnung
mag Ihnen vielleicht etwas geheimnisvoll vorkommen, aber Sie gibt Ihnen die
größtmögliche Flexibilität.
Jeder der internen Befehle von Opus 5 hat eine bestimmte Bedeutung, aber es mag
Fälle geben, in denen keiner dieser Befehle für so richtig zu passen scheint.
Und genau für diese Fälle wurden die Benutzer-Kommandos definiert, die dann in
diesem Moment bedeuten "Führe eine Operation auf dieses Objekt aus"
12.4.4 Piktogramm- und Dateitypen-Menüs
Seit Opus 5.5 hat jedes Piktogramm (und Dateilister im Textmodus, wenn dies
aktiviert ist) einen Satz datitypabhängige Popup-Menüs, die durch Druck auf die
rechte Maustaste über dem Piktogramm oder dem Eintrag im Textmodus-Dateilister
aufgerufen werden. Opus bietet hier eine kleine Vorauswahl von Befehlen für
jeden Dateityp, aber Sie können diese Menüs beliebig mit den von Ihnen
benötigten Befehlen erweitern, die sich dann nur auf Piktogramme oder Dateien
eines bestimmten Typs beziehen.
Wenn das Piktogramm einer Datei angezeigt wird, für die Sie einen Dateityp
definiert haben, so werden die dateitypabhängigen Piktogramm-Menüs an die
Popup-Menüs für Piktogramme dieses Typs angehängt. Wählen Sie "Hinzu", um den
Namen und die Funktion dieses benutzerdefinierten Menüeintrages zu definieren.
12.4.5 Das Standardpiktogramm und dessen Auswahl
Der Knopf "Pikt. wählen" erlaubt es Ihnen, ein Piktogramm festzulegen, das von
Opus 5 für diesen spezifischen Dateityp in einem Dateilister angezeigt wird,
wenn dieser in den Piktogrammodi betrieben wird oder aber ausgelagert auf dem
Hauptfenster von Opus. Wählen Sie dieses Piktogramm entweder über das
Dateiauswahlfenster oder aber legen Sie ein Piktogramm mittels "Nehmen &
Ablegen" in das Feld über dem Knopf "Pikt. wählen" (Wir haben ein Verzeichnis
"DOpus5:Icons" hinzugefügt, in dem solche Piktogramme aufbewahrt werden
können).
Wenn hier ein Piktogramm definiert wird, so wird dieses anstelle der
Amiga-Systemeinstellungen genutzt, wenn ein Piktogramm mittels des Befehls
"AddIcon" hinzugefügt wird.
12.4.6 Klassendefinition bearbeiten
Unterhalb der Liste der Ereignisse befindet sich der Knopf "Def. bearb....",
mit dem Sie die Definition (oder auch Klasse) des Dateityps modifizieren
können. Lesen Sie dazu bitte auch die 'Definition eines Dateityps'.
12.5 Definition eines Dateityps
Der Aufruf von "Def. bearb..." aus dem Ereignisfenster führt zum Öffnen des
Editors für die Dateitypendefinition. Hier definieren Sie die Elemente, die
Opus 5 zur Erkennung eines Dateityps benötigt.
Abb.: Bearbeiten Sie hier die Definition des Dateityps.
Name:
Hier geben Sie dem Dateityp einen Namen.
ID:
Die ID (Identifikation) erscheint im Dateitypen-Manager neben dem Namen des
Dateityps. Dies ist eine Abkürzung für den Namen des Dateitypen.
Pri:
Hier bestimmen Sie die Priorität eines Dateityps. Die Priorität ist
ausschlaggebend für die Reihenfolge, in der die Dateitypen abgearbeitet werden,
wenn eine unbekannte Datei untersucht wird. Generell sollte die Priorität auf
Null belassen werden, aber es kann durchaus sinnvoll oder sogar nötig sein, die
Prioritäten anders zu verteilen.
Nehmen wir mal an, Sie hätten zwei Dateitypen definiert, wobei der eine eine
Untermenge des anderen darstellt (z.B. 24Bit-ILBM-Bilder gegenüber regulären
ILBM-Bildern). Sie hätten es gerne, wenn zuerst auf den 24Bit- Datentyp
getestet würde, da dieser eine Untermenge des regulären IFF-ILBM-Datentyps ist.
Würde zuerst der reguläre Dateityp überprüft und eine Übereinstimmung gefunden,
würde der 24Bit-Datentyp gar nicht mehr überprüft und hätte damit seine
Funktion verloren, obwohl der reguläre Datentyp trotz korrekter Erkennung des
Formates vielleicht gar nicht in der Lage ist, 24Bit-Dateien darzustellen. In
einem solchen Fall müssen Sie die Priorität des 24Bit-Datentyps höher
einstellen als die des regulären IFF-ILBM-Datentyps.
Unterhalb der drei oben beschriebenen Felder befindet sich nun ein größeres
Feld, in dem die Klauseln für die korrekte Identifikation des Dateityps stehen
müssen. Diese Klauseln werden von Opus 5 der Reihe nach abgearbeitet, um
letztendlich einen Dateityp korrekt zu identifizieren. Diese Klauseln können so
einfache Anweisungen enthalten, wie eine einfache Suche nach der
Namenserweiterung einer Datei (z.B. daß alle Dateien, die auf ".TXT" enden, als
Text erkannt werden) oder aber auch komplexe Scanoperationen nach Daten in
einem spezifischen IFF-Chunk.
Unterhalb der Liste der Klauseln befinden sich (von links nach rechts): ein
Knopf, ein Textfeld (nur zur Darstellung) und ein Feld zur Übergabe von
Argumenten. Diese werden für das Bearbeiten der Klauseln benötigt, wie Sie
weiter unten lesen können
Hinzufügen:
Fügt einen neuen Eintrag in die Liste der Klauseln ein.
Einfügen:
Fügt über dem angewählten Eintrag in der Liste der Klauseln einen neuen Eintrag
ein.
Entfernen:
Entfernt den angewählten Eintrag.
Datei anzeigen:
Dies erlaubt Ihnen die Anwahl einer Datei, die über den Textanzeiger
wiedergegeben wird, damit Sie leichter Klauseln herausfinden können, die für
eine korrekte Erkennung des Dateityps benötigt werden.
12.6 Bearbeiten der Dateitypendefinition
Um eine der Klauseln der Liste zu bearbeiten, wählen Sie einfach den
gewünschten Eintrag an. Der Inhalt dieses Eintrages wird nun nach unten in das
Anzeigefeld und das Feld für die Argumentenübergabe übernommen. Um den Inhalt
des Anzeigefeldes zu verändern, klicken Sie auf den kleinen Knopf links daneben
und eine Liste alternativer Klauseln wird Ihnen präsentiert. Wählen Sie dort
eine andere Klausel aus oder wählen Sie "Abbruch".
Abb.: Wählen Sie hier eine Klausel aus.
Die Struktur eines Dateitypdefinitionsskriptes, wie es in der Liste der
Klauseln angezeigt wird, besteht aus einer oder mehreren Klauseln, die
beschreiben, was bei der Überprüfung des Dateityps zur sicheren Erkennung in
Erwägung gezogen werden sollte. Es gibt nur zwei Anweisungen, die die Klauseln
voneinander abgrenzen: "Und" und "Oder". Diese definieren, was zu tun ist, wenn
eine Klausel fehlschlägt oder Erfolg hat. Wenn alle Klauseln abgearbeitet sind
und das Resultat dieser Operation wahr ist, dann ist die zu untersuchende Datei
von just diesem Dateityp.
12.6.1 Entscheidungsklauseln
Klausel: Und
Syntax: Und
Ist die vorhergehende Klausel wahr, dann wird bei einem "Und" auch die
nachfolgende Klausel überprüft; anderenfalls wird zur nächsten Klausel
gesprungen. Wenn die vorhergehende Klausel unwahr ist, dann wird die Ausführung
an dieser Stelle abgebrochen und der Dateityp kann nicht mit diesem
übereinstimmen.
Klausel: Oder
Syntax: Oder
Ist die vorhergehende Klausel unwahr, dann wird die nachfolgende Klausel
überprüft; anderenfalls wird zur nächsten Klausel gesprungen.
12.6.2 Überprüfungsklauseln
Klausel: Vergl.
Syntax: Vergl. TEXT, Vergl. $HEX, Vergl. %BINÄR, Vergl. \xxx
Hiermit können Sie prüfen, ob eine Sequenz von Bytes am Beginn der zu
untersuchenden Datei mit dem angegebenen Muster übereinstimmt. Die Klausel
"Vergleichen" unterstützt auch binäre Übereinstimmungen. Um in einem Text einen
Platzhalter zu definieren, benutzen Sie das "?". Um ein einzelnes unbekanntes
Byte zu ersetzen, wenn Sie hexadezimal arbeiten, benutzen Sie "??". Eine
weitere Form der Eingabe ist es, die Syntax eines ASCII-Zeichens durch seinen
Dezimalwert zu spezifizieren. "\009" entspricht dem Tabulatorzeichen, "\114"
wäre ein "r" und "\063" entspricht dem Fragezeichen.
Beispiele:
Vergl. $000003F3 (mit diesen Bytes startet ein ausführbares Programm)
Vergl. FORM????ILBM (dies charakterisiert ein IFF-Bild)
Vergl. Hallo\009Du ("Hallo", dann ein Tabulatorzeichen, dann "Du")
Vergl. $FFFA (Übereinstimmung mit hexadezimalen Zeichen)
Vergl. %10110 (Übereinstimmung mit binären Zeichen)
Vergl. TEXT\127 (Übereinstimmung mit "TEXT", plus dem Zeichen <DEL>)
Klausel: Vergl. (ign.)
Syntax: Identisch mit Vergl.
Diese Klausel ist identisch mit dem einfachen "Vergl.", jedoch wird bei dieser
nicht auf Groß- oder Kleinschreibung geachtet. Dies gilt allerdings nur für
ASCII-Zeichen. Hexadezimale, binäre oder "\xxx"-Eingaben müssen hier ganz
genauso übereinstimmen.
Klausel: Vergl. Bits
Syntax: Vergl. Bits +/- HSPARWED
Testet, ob die Schutzbits der Datei übereinstimmen. Um zu überprüfen, ob ein
Schutzbit gesetzt ist, stellen Sie einfach ein "+" voran. Zum Test, ob ein Bit
nicht gesetzt ist, stellen Sie ein "-" voran.
Beispiele:
Vergl. Bits +RW (Bits "R" und "W" müssen an sein, andere sind egal)
Vergl. Bits -E (Bit "E" (für ausführbar) muß aus sein)
Vergl. Bits +RW -E (Bits "R" und "W" müssen an, Bit "E" muß aus sein)
Klausel: Vergl. Komm.
Syntax: Vergl. Komm. TEXT
Vergleicht den angegebenen Text mit dem Dateikommentar der zu untersuchenden
Datei. Jeder beliebige Platzhalter des AmigaDOS kann hier verwendet werden
Beispiele:
Vergl. Komm. IFF-Grafik (Dateikommentar muß exakt "IFF-Grafik" lauten)
Vergl. Komm. #?Grafik#? (Jeder Dateikommentar, der das Wort "Grafik"
Klausel: Vergl. Datum
Syntax: Vergl. Datum TTMMMJJ
Vergleicht das Datum der Datei mit dem angegebenen Datum. Lesen Sie über
Datumsformate bitte auch das Kapitel über die internen Befehle und dort
speziell die 'Selektive Anwahl'.
Beispiele:
Vergl. Datum 15Aug96 (Datei muß exakt dieses Datum haben)
Vergl. Datum < 10Jan96 (Datei muß vor diesem Datum erzeugt worden sein)
Klausel: Vergl. Name
Syntax: Vergl. Name Dateiname
Der angegebene Dateiname wird mit dem der zu untersuchenden Datei verglichen.
Jeder gültige Platzhalter des AmigaDOS kann hier benutzt werden.
Beispiele:
Vergl. Name #?.ilbm (Alle Dateien, die auf ".ilbm" enden)
Vergl. Name *.lzh (Alle Dateien, die auf ".lzh" enden)
Klausel: Vergl. Größe
Syntax: Vergl. Größe > oder < oder = INTEGERZAHL
Vergleicht die Dateigröße mit dem angegebenen ganzzahligen Wert.
Beispiele:
Vergl. Größe > 1000 (Alle Dateien größer als 1000 Bytes)
Vergl. Größe < 10000 (Alle Dateien kleiner als 10000 Bytes)
Klausel: Vergl. FORM
Syntax: Vergl. FORM Chunkname
Testet, ob die Datei einen gültigen IFF-Chunk enthält.
Beispiele:
Vergl. FORM ILBM (Datei muß eine ILBM-Bilddatei sein)
Vergl. FORM SMUS (Datei muß eine SMUS-Musikdatei sein)
Klausel: Vergl. DTGr.
Syntax: Vergl. DTGr. Typ
Überprüft auf eine Standard Datatypgruppe. Dies ist erst OS3.0 oder höher
verfügbar und die "datatypes.library" muß dazu in Ihrem System installiert
sein, damit diese Funktion korrekt arbeitet.
Beispiele:
Vergl. DTGr. picture (Jede Bilddatei, die von den Datatypes erkannt wird)
Vergl. DTGr. sound (Jede Tondatei, die von den Datatypes erkannt wird)
Hierbei sind nur die ersten vier Buchstaben relevant! Sie könnten z.B. auch
"pict" statt "picture" schreiben, aber das würde keinen Unterschied machen. Für
weitere Informationen sehen Sie bitte in der Dokumentation zum Amiga nach. Sie
finden dort unter "datatypes/datatypes.h" eine Liste aller momentan
gebräuchlichen Datatypegruppen.
Klausel: Vergl. DTID
Syntax: Vergl. DTID Identifikation
Überprüft die Identifikation eines Datatypes. Dazu muß die "datatypes.library"
korrekt in Ihrem System installiert sein.
Beispiel:
Vergl. DTID jpeg (Überprüft auf JPEG-Dateien)
Diese Funktion ist abhängig von den in Ihrem System installierten Datatypes.
12.6.3 Verzweigungsklauseln
Klausel: Verzw. ABS
Syntax: Verzw. ABS Byteposition (dezimal oder hexadezimal)
Verzweigt zu einem bestimmten Byte, absolut zur Position des Dateibeginns. Bei
Überprüfung von Dateiinhalten fangen Sie immer ganz vorne, aber jede
vorausgegangene Klausel kann den Positionszeiger verschoben haben. Um also
definitiv eine absolute Position zu bestimmen, können Sie diese Klausel
verwenden.
Beispiele:
Verzw. ABS 0 (Zeiger auf Dateibeginn (Byte 1))
Verzw. ABS 100 (Zeiger auf Byte 101)
Klausel: Verzw. REL
Syntax: Verzw. REL Byteposition (dezimal oder hexadezimal)
Verzweigt relativ zur momentanen Position. Der Positionszeiger wird relativ zur
augenblicklichen Position neu gesetzt.
Beispiele:
Verzw. REL 16 (Positionszeiger 16 Bytes vorwärts in der Datei)
Verzw. REL -4 (Positionszeiger 4 Bytes rückwärts in der Datei)
Klausel: Suche nach
Syntax: Suche nach TEXT, Suche nach $HEX
Sucht ab der aktuellen Position nach einer Bytefolge, die mit der als Argument
übergebenen übereinstimmt. Sehen Sie bitte bei der Klausel 'Vergl.' nach den
für diese Klausel gültigen Argumente. Wird eine passende Bytefolge gefunden,
dann entspricht die Position dem ersten gefundenen Byte.
Beispiele:
Suche nach CMAP (Text "CMAP" suchen, Position des Zeigers auf "C")
Suche nach M.K. (Text "M.K." suchen, Position des Zeigers auf "M")
Wenn diese Klausel keine passende Bytefolge findet, bedeutet dies, daß die
Klausel unwahr ist.
Ein Beispiel für die Nutzung ist die Dateiklasse der 24Bit-Bilder.
Beispiel:
Vergl. FORM????ILBM (Datei muß mit diesen Zeichen beginnen)
Und (Ist dies erfüllt, dann tu das folgende)
Suche nach BMHD (Suche nach dem BMHD-Chunk)
Verzw. REL 16 (16 Bytes weiterspringen)
Vergl. $18 (Dort muß 24 (oder $18 in Hex) stehen)
Klausel: Suche Chunk
Syntax: Suche Chunk
Sucht nach einem IFF-Chunk. Diese Klausel ähnelt der Klausel "Suche nach", ist
aber schneller, da diese das IFF-Format versteht und nicht passende Chunks
gleich überspringt anstatt die ganze Datei zu durchsuchen. Außerdem werden nur
gültige Chunks gefunden, wohingegen die "Suche nach"-Klausel auf der Suche nach
IFF-Chunks auch Daten fehlinterpretieren kann.
Beispiele:
Suche Chunk BMHD (Sucht nach dem nächsten BMHD-Chunk)
Wir raten Ihnen, sich die mitgelieferten, vordefinierten Dateitypen genauer
anzuschauen, um einen Eindruck von den Möglichkeiten und den nahezu
unbegrenzten Fähigkeiten dieses Systems zu bekommen.
12.6.4 Anwendungsbeispiele
Einige häufig benötigte Beispiele sind:
a) Prüfen, ob ein Bild vom Format JPEG vorliegt. Ein Datatype vom Typ "JPEG"
muß in Ihrem System vorhanden sein.
Vergl. DTGr. pict (Auf Datatypegruppe Picture prüfen)
Vergl. DTID jpeg (Auf Identifikation JPEG prüfen)
b) Prüfen, ob die Datei eine 24Bit-IFF-Datei ist
Vergl. FORM ILBM (ILBM-Chung vorhanden ?)
Suche Chunk BMHD (Suche nach dem BMHD-Chunk)
Verzw. REL 16 (16 Bytes weiterspringen)
Vergl. $18 (Steht dort 24 (oder $18 in Hex)?)
c) Prüfen, ob eine Datei im FAX-IFF-Format von GPFax vorliegt
Vergl. FORM FAXX (Bytefolge FAXX gefunden ?)
Oder (wenn nein, dann...
Vergl. FORM FAX3 (Bytefolge FAX3 gefunden ?)
d) Prüfen, ob eine Datei im AmigaGuide-Format vorliegt
Vergl.(ign.) @database (Bytefolge "@database" gefunden ?)
12.7 Der automatische Dateityperzeuger
Es ist uns bewußt geworden, daß viele Anwender nicht die Zeit aufbringen
können, Dateien sorgfältig zu analysieren, um deren internes Dateiformat
herauszufinden. Darum haben wir in Opus 5.5 ein System eingeführt, daß Dateien
automatisch testet, analysiert und für Sie eine Dateitypdefinition erzeugt. Sie
können den Dateityperzeuger auch jedesmal von Opus aufrufen lassen, wenn eine
Datei, die Sie doppelklicken nicht erkannt wird. Dies ist die schnellste
Methode eine Liste benutzbarer Dateitypen aufzubauen. Unglücklicherweise ist es
uns natürlich nicht möglich, die Befehle oder Funktionen, die Sie ausgeführt
haben möchten, automatisch mitzudefinieren, aber wir sind Ihnen immerhin auf
dem halben Wege entgegengekommen. Der Rest liegt bei Ihnen!
Das Dateitypenmodul wurde geschaffen, um automatisch Dateitypen für Dateien
oder Gruppen von Dateien zu finden und zu erschaffen, ohne daß der Benutzer
Experte auf dem Gebiet der Dateiformate sein muß. Das Modul bietet zwei interne
Befehle, FindFileType (Dateityp suchen) und CreateFileType (Dateityp
erzeugen).
"FindFileType" hilft Ihnen dabei, herauszufinden, welcher Ihrer aktuell
verfügbaren Dateitypen zu einer angegebenen Datei passt, egal ob sich dieser
nun im Verzeichnis "DOpus5:Filetypes" oder im Storage-Verzeichnis befindet.
Abb.: Der Dateitypsucher.
Die Anzeige zeigt Ihnen eine Liste aller Dateitypen, die auf die gegebene Datei
passen würden, in Reihenfolge ihrer Prioritäten. Der Dateityp, den Opus nutzen
würde, wird zur sofortigen Bearbeitung hervorgehoben dargestellt. Wenn sich im
Verzeichnis "Storage" ein besserer als die installierten Dateitypen befindet,
so kann das Dateitypenmodul diesen für Sie installieren. Wenn sich weder im
Verzeichnis "Storage" noch im Verzeichnis "Filetypes" ein passender Dateityp
befindet, so kann durch Aufruf des automatischen Dateityperzeugers (Befehl
"CreateFileType") eine wertvolle Hilfe zur Erstellung eines solchen Dateityps
bereitgestellt werden. Sie können auch den aktuellen, passenden Dateitypen
bearbeiten.
Der Dateitypensucher erlaubt es Ihnen, nur den aktuell passenden Dateityp zu
ändern, nicht die anderen, die in der Liste angezeigt werden. Bedenken Sie
bitte, daß der Dateitypsucher als Hilfe zur schnellen Identifizierung von
unbekannter Dateitypen gedacht ist. Für kompliziertere Operationen, oder wenn
Sie mehrere Dateitypen zugleich bearbeiten wollen, sollten Sie direkt den
Dateitypenmanager benutzen.
"CreateFileType" hilft Ihnen bei der Erzeugung eines neuen Dateityps für eine
einzelne Datei oder bevorzugt für eine Liste von Dateien gleichen Typs. Der
Dateityperzeuger wurde dazu geschaffen, eine Liste von Dateien gleichen Typs zu
akzeptieren, diese auf Gemeinsamkeiten bezüglich der Vergleichselemente von
Opus zu analysieren und daraus automatisch einen passenden Dateityp zu
erzeugen. Die Vergleichselemente werden auf der rechten Seite der Anzeige
dargestellt und Sie können wählen, welche dieser Elemente Sie zur Definition
des Dateityps nutzen wollen. Sollten rechts keinerlei Vergleichselemente
verfügbar sein, so war der Dateityperzeuger nicht in der Lage, gleiche Elemente
in der Liste der gegebenen Dateien zu finden. In solchen Fällen sollten Sie
selektiv Dateien aus der Liste entfernen, bis es möglich ist, einen Dateityp
sicher zu erkennen. Sie können mit Hilfe der Knöpfe Dateien zur Liste
hinzufügen oder auch entfernen. Sie können Dateien auch einfach per "Nehmen &
Ablegen" dort hinzufügen.
Abb.: Der Dateityperzeuger:links die Dateien, rechts die Vergleichselemente.
Rechts der Dateiliste ist eine Reihe von Auswahlboxen. Jede steht für eine
Standardfunktion zur Dateitypidentifizierung. Diese Funktionen sind:
Name Vergl.Name Vergleicht auf passende Dateinamensmuster.
IFF Vergl.FORM Vergleicht auf passende IFF-Chunks.
Gruppe Vergl.DTGr. Vergleicht aus System-Datatype-Gruppen.
ID Vergl.DTID Vergleicht auf System-Datatype-ID's.
Bytes (G/k) Vergl. Vergleicht auf identische Bytes.
Bytes (Kein G/k) Vergl.(ign.) Vergleicht auf identische Bytes (ohne auf
(Groß-/Kleinschreibung zu achten).
Name:
Dieses Feld zeigt den gemeinsamen Teil der Namen aller Dateien der Liste, der
auf alle gewählten Dateien passt. Dies ist üblicherweise eine
Dateinamenserweiterung wie ".gif" oder ".info".
IFF:
Wenn alle Dateien der Liste dem IFF-FORM-Standard entsprechen und alle
denselben FORM-Typ enthalten, wird dieser hier angezeigt. Dies könnte z.B.
"ILBM" oder "8SVX" sein.
Gruppe:
Wenn auf Ihrem Rechner das Datatypesystem verfügbar ist und alle Dateien
derselben Datatypegruppe entsprechen, so wird diese Gruppe hier angezeigt. Dies
könnte z.B. "text" oder "pict" sein.
ID:
Wenn auf Ihrem Rechner das Datatypesystem verfügbar ist und alle Dateien
derselben Datatype-ID entsprechen, so wird diese ID hier angezeigt. Dies könnte
z.B. "amig" oder "ilbm" sein, oder jeder andere Datatype, der in Ihrem System
installiert ist.
Bytes:
Dieses Feld zeigt die ersten 16 Bytes jeder Datei an, wobei einfache
Platzhalter Verwendung finden. Mit dem Wechselknopf "G/k" oder "Kein G/k"
können Sie wählen, ob dabei die Groß- und Kleinschreibung beachtet werden soll
oder nicht.
Nur die Anteile, die allen gewählten Dateien gemeinsam sind, werden hier
angezeigt. Wird eine Datei zur Liste hinzugefügt, die nicht dem Typ der anderen
angezeigten Dateien entspricht, so wird die Liste der Vergleichselemente
automatisch und sofort auf den neuen Stand gebracht. Auch das Löschen einer
Datei aus der Liste führt zu einer Anpassung.
Jedes der Felder der Vergleichselemente kann einzeln an- oder ausgeschaltet
werden.
Der Knopf "Bearbeiten" öffnet den standardmäßigen Dateitypeditor, der Ihnen
eine weitere Anpassung an Ihre Bedürfnisse erlaubt, z.B. eine weitere Anpassung
der Vergleichsklauseln, ein Hinzufügen von Standardaktionen, Popup-Menüs und
eines Standardpiktogramms. Nachdem Sie also anhand der Auswahlboxen die
Kriterien zur Erkennung der Datei im Dateityperzeuger gewählt haben, können Sie
durch einen Druck auf den Knopf "Bearbeiten" den erzeugten Dateityp noch
manuell weiterbearbeiten.
Wenn Sie nach dem Bearbeiten des Dateityps entscheiden, noch Dateien zu der
Liste der Dateien im Dateityperzeuger hinzuzufügen oder zu entfernen, so gehen
alle Ihre bearbeiteten Veränderungen verloren. Ein Fenster wird Ihnen aber
davor noch einen Warnhinweis mit der Möglichkeit zum Abbruch bieten.
Wird ein neuer Dateityp gespeichert, wird er von Opus erkannt und ist sofort
für die Dateitypenerkennung verfügbar.
Sie sollten den Dateityperzeuger mit Bedacht benutzen. Es ist damit sehr
einfach einen Dateityp zu erzeugen, der zu generell gehalten ist und auf sehr
viele Dateien passt. Testen Sie daher nach der Erzeugung eines neuen Dateityps
diesen mit vielen Dateien verschiedenen Typs, um sicherzustellen, daß der von
Ihnen erzeugte Dateityp nur auf die Dateien zutrifft, für die er gedacht war.
Es ist generell nicht ratsam, den Dateityperzeuger zur Erzeugung eines neuen
Dateityps zu nutzen, wenn dieser nur auf einer einzelnen Datei basiert (obwohl
dies möglich ist). Benutzen Sie möglichst immer mehrere Dateien gleichen Typs
zur Erzeugung neuer Dateitypen.